package com.tianhui.consignortwofei.api;


import com.fgs.common.CommonResponse;
import com.fgs.common.entity.CommonDataListInfo;
import com.tianhui.consignortwofei.mvp.model.FuJianListBean;
import com.tianhui.consignortwofei.mvp.model.TaiTouListBean;
import com.tianhui.consignortwofei.mvp.model.hetong.AuthorizedRepresentativeInfo;
import com.tianhui.consignortwofei.mvp.model.hetong.BankAccountInfo;
import com.tianhui.consignortwofei.mvp.model.hetong.CompanyInfo;
import com.tianhui.consignortwofei.mvp.model.hetong.ContractInfo;
import com.tianhui.consignortwofei.mvp.model.hetong.HuiKuanListBean;
import com.tianhui.consignortwofei.mvp.model.hetong.SealUnitInfo;


import java.util.List;
import java.util.Map;

import io.reactivex.Observable;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.QueryMap;

/**
 * api service
 */
public interface ContractApiService {


    //销售合同列表mini/
    @GET("contract/list")
    Observable<CommonResponse<CommonDataListInfo<ContractInfo>>> contractList(@QueryMap Map<String, String> map);

    //银行账号列表
    @GET("bankaccount/getBankList")
    Observable<CommonResponse<List<BankAccountInfo>>> bankAccountList(@QueryMap Map<String, String> map);

    //授权代表(甲方)列表
    @GET("contract/getRepersentativeList")
    Observable<CommonResponse<List<AuthorizedRepresentativeInfo>>> authorizedRepresentativeList(@QueryMap Map<String, String> map);

    //公司名称(甲方)列表
    @GET("sys/company/selectlist")
    Observable<CommonResponse<List<CompanyInfo>>> companyFirstPartyList();

    //公司名称(乙方)列表
    @GET("contract/getCompanyList")
    Observable<CommonResponse<List<CompanyInfo>>> companyPartyBList(@QueryMap Map<String, String> map);

    //添加合同
    @POST("contract")
    Observable<CommonResponse> contractAdd(@Body ContractInfo info);

    //盖章单位列表
    @GET("markpicture/selectlist")
//    Observable<CommonResponse<List<SealUnitInfo>>> sealUnitList(@QueryMap Map<String, String> map);
    Observable<CommonResponse<List<SealUnitInfo>>> sealUnitList();

    //生成合同
    @POST("contract/createseat")
    Observable<CommonResponse> createContract(@QueryMap Map<String, String> map);


    //银行账号列表
    @GET("contract/getSASaleDeliveryByCode")
    Observable<CommonResponse<ContractInfo>> getBianHaoResult(@QueryMap Map<String, String> map);


    //审核销售合同列表mini/
    @GET("contract/verityList")
    Observable<CommonResponse<CommonDataListInfo<ContractInfo>>> shenContractList(@QueryMap Map<String, String> map);


    //附件合同未添加列表
    @GET("tianhui/erpware/viewSASaleOrder")
    Observable<CommonResponse<FuJianListBean>> getUnFuJianList(@QueryMap Map<String, String> map);


    //附件合同未添加列表
    @GET("contract/sdhead/list")
    Observable<CommonResponse<TaiTouListBean>> getTaiTouList(@QueryMap Map<String, String> map);

    //欠款信息
    @GET("contract/xhd11/list")
    Observable<CommonResponse<HuiKuanListBean>> getUnHuiKuanList(@QueryMap Map<String, String> map);





}


